RAIS  3.2
C:/Projekte/RAIS/Specific Masks/CustomTables.aspx.cs
Go to the documentation of this file.
00001 
00028 using System;
00029 using System.Data;
00030 using System.Configuration;
00031 using System.Collections;
00032 using System.Web;
00033 using System.Web.Security;
00034 using System.Web.UI;
00035 using System.Web.UI.WebControls;
00036 using System.Web.UI.WebControls.WebParts;
00037 using System.Web.UI.HtmlControls;
00038 
00039 using RAIS.Common.DynamicMaskManagement;
00040 using RAIS.Common.TableManagement;
00041 using RAIS.Common.UserManagement;
00042 
00043 using TableTypes = System.Collections.Generic.Dictionary<string, RAIS.Common.TableManagement.Table.TableTypeData>;
00044 using TableGroups = System.Collections.Generic.Dictionary<string, RAIS.Common.TableManagement.TableGroup>;
00045 using Tables = System.Collections.Generic.Dictionary<string, RAIS.Common.TableManagement.Table>;
00046 using FieldTypes = System.Collections.Generic.Dictionary<string, RAIS.Common.TableManagement.Field.FieldTypeData>;
00047 using FieldSizes = System.Collections.Generic.Dictionary<string, RAIS.Common.TableManagement.Field.FieldSizeData>;
00048 using FunctionRoleCategories = System.Collections.Generic.Dictionary<string, RAIS.Common.UserManagement.FunctionRole.Category>;
00049 using FunctionRoleSubcategories = System.Collections.Generic.Dictionary<string, RAIS.Common.UserManagement.FunctionRole.Subcategory>;
00050 
00051 namespace RAIS.UI.SpecificMasks
00052 {
00056     public partial class CustomTables : System.Web.UI.Page
00057     {
00058                 //*********************************************************************
00059                 #region Event handlers
00060         protected void Page_PreLoad(object sender, EventArgs e)
00061         {
00062             RAIS.UI.Common.PageManagement.TrimTextBoxValues(this);
00063         }
00070         protected void Page_Load(object sender, EventArgs e)
00071         {
00072                         this.Response.Cache.SetNoStore();
00073                         this.Response.Redirect("CustomTables1_New.aspx");
00074 
00075                         if (this.CurrentUser == null)
00076                                 UI.Common.AccessManagement.SignOut(this);
00077                         
00078                         this.LBLresult.Text = "";
00079             if (!this.IsPostBack)
00080             {
00081                                 this.LBLusername.Text = this.CurrentUser.Name;
00082                                 this.TXTtablename.MaxLength = RAIS.Common.Constants.SMALL_FIELD_MAX_LENGTH;
00083                                 this.TXTmaskname.MaxLength = RAIS.Common.Constants.SMALL_FIELD_MAX_LENGTH;
00084                                 this.TXTfieldname.MaxLength = RAIS.Common.Constants.SMALL_FIELD_MAX_LENGTH;
00085                 this.BTNdelete.Attributes.Add("onclick", string.Format("javascript: return confirm('{0}');", RAIS.Common.Messages.DELETE_QUESTION_CUSTOM_TABLES.Replace("'", "\\'")));
00086 
00087                 UI.Common.TableManagement.InitializeTableGroupList(this.DDLtablegroup);
00088                 UI.Common.TableManagement.InitializeTableTypeList(this.DDLtabletype);
00089                                 UI.Common.TableManagement.InitializeCategoryList(this.DDLcategory);
00090                                 UI.Common.TableManagement.InitializeSubcategoryListByCategory(this.DDLsubcategory, this.SelectedCategory);
00091                                 UI.Common.TableManagement.InitializeTableFieldCategoryList(this.DDLfieldcategory);
00092                                 UI.Common.TableManagement.InitializeTableFieldSizeListByFieldCategory(this.DDLsize, this.SelectedFieldCategory);
00093                                 UI.Common.TableManagement.InitializeTableFieldNecessityList(this.DDLnecessity);
00094                 UI.Common.TableManagement.InitializeTablesByGroup(this, this.SelectedTableGroup);
00095                                 UI.Common.TableManagement.InitializeRelatedTableList(this.DDLrelatedtable);
00096                                 this.EnableRemoveButton();
00097 
00098                 UI.Common.PageManagement.InitializePage(this, this.TreeView1);
00099 //                              this.LBTNmessagebox.Visible = !(this.CurrentUser.FunctionalRole.Type == FunctionRole.FunctionRoleType.Guest);
00100                         }
00101 
00102             UI.Common.TableManagement.InitializeTableListByGroup(this.DDLtable, this.SelectedTableGroup);
00103             this.EnableDeleteButton();
00104             UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable);
00105             if (!this.IsPostBack)
00106             {
00107                 this.EditMode = false;
00108             }
00109         }
00110         protected void Page_Init(object sender, EventArgs e)
00111         {
00112             Common.PageManagement.SetScrolableListBox(LBfields, this, true);
00113         }
00120         protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
00121         {
00122             UI.Common.UserManagement.ProcessTreeViewOnRedirect(this.TreeView1);
00123         }
00130         protected void BTNcreate_Click(object sender, EventArgs e)
00131         {
00132             AddNewTable();
00133         }
00140         protected void BTNdelete_Click(object sender, EventArgs e)
00141         {
00142             if (this.ConfirmTableDeletion())
00143             {
00144                 this.DeleteSelectedTable();
00145             }
00146         }
00153         protected void DDLtable_SelectedIndexChanged(object sender, EventArgs e)
00154         {
00155             UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable);
00156         }
00163         protected void DDLtablegroup_SelectedIndexChanged(object sender, EventArgs e)
00164         {
00165             UI.Common.TableManagement.InitializeTableListByGroup(this.DDLtable, this.SelectedTableGroup);
00166             UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable);
00167             this.EnableDeleteButton();
00168         }
00175         protected void BTNadd_Click(object sender, EventArgs e)
00176         {
00177             this.AddTableField();
00178             this.EnableRemoveButton();
00179             this.InitializeFieldFlags(this.SelectedField);
00180         }
00187         protected void BTNremove_Click(object sender, EventArgs e)
00188         {
00189             this.RemoveTableField();
00190             this.EnableRemoveButton();
00191             this.InitializeFieldFlags(this.SelectedField);
00192         }
00199         protected void LBTNlogout_Click(object sender, EventArgs e)
00200         {
00201             UI.Common.AccessManagement.SignOut(this);
00202         }
00208                 protected void LBfields_SelectedIndexChanged(object sender, EventArgs e)
00209                 {
00210                         this.TXTfieldname.Text = this.SelectedField.Name;
00211                         this.TXTfieldpurpose.Text = this.SelectedField.FieldPurpose;
00212                         InitializeFieldFlags(this.SelectedField);
00213                         this.EnableRemoveButton();
00214                         try
00215                         {
00216                                 this.SetTableFieldCategorySelection(this.SelectedField);
00217                                 UI.Common.TableManagement.InitializeTableFieldSizeListByFieldCategory(this.DDLsize, this.SelectedFieldCategory);
00218                                 this.SetFieldSizeVisibility();
00219                                 this.SetFieldRelatedTableVisibility();
00220                                 this.EnableDisableMultilineCheckbox();
00221                                 this.SetTableFieldRelatedTableSelection(this.SelectedField);
00222                                 this.SetTableFieldNecessitySelection(this.SelectedField);
00223 
00224                                 this.SetTableFieldSizeSelection(this.SelectedField);
00225 //                this.SetTableFieldCategorySelection(this.SelectedField);
00226             }
00227                         catch
00228                         {
00229 
00230                         }
00231                 }
00237                 protected void DDLcategory_SelectedIndexChanged(object sender, EventArgs e)
00238                 {
00239                         UI.Common.TableManagement.InitializeSubcategoryListByCategory(this.DDLsubcategory, this.SelectedCategory);
00240                 }
00246                 protected void DDLfieldcategory_SelectedIndexChanged(object sender, EventArgs e)
00247                 {
00248                         UI.Common.TableManagement.InitializeTableFieldSizeListByFieldCategory(this.DDLsize, this.SelectedFieldCategory);
00249                         this.SetFieldSizeVisibility();
00250                         this.SetFieldRelatedTableVisibility();
00251                         this.EnableDisableMultilineCheckbox();
00252                 }
00260         protected void BTNedit_Click(object sender, EventArgs e)
00261         {
00262             this.EditMode = true;
00263             this.EnableRemoveButton();
00264         }
00272         protected void BTNsave_Click(object sender, EventArgs e)
00273         {
00274             this.SaveTable();
00275             this.EnableRemoveButton();
00276         }
00284         protected void BTNdiscard_Click(object sender, EventArgs e)
00285         {
00286                         this.Session[RAIS.UI.Common.Constants.TABLES_TAG] = null; //for resetting
00287             UI.Common.TableManagement.InitializeTablesByGroup(this, this.SelectedTableGroup);
00288             this.EnableRemoveButton();
00289             this.EditMode = false;
00290         }
00291         #endregion
00292                 //*********************************************************************
00293                 #region Private helper methods
00294 
00299                 private void SetTableFieldCategorySelection(Field field)
00300                 {
00301                         if (field != null)
00302                         {
00303                                 this.DDLfieldcategory.SelectedValue = field.TypeData.VisibleName;
00304                         }
00305                 }
00311                 private void SetTableFieldSizeSelection(Field field)
00312                 {
00313                         if (field != null)
00314                         {
00315                                 this.DDLsize.SelectedValue = field.SizeData.VisibleName;
00316                         }
00317                 }
00323                 private void SetTableFieldNecessitySelection(Field field)
00324                 {
00325                         if (field != null)
00326                         {
00327                                 this.DDLnecessity.SelectedValue = field.NecessityData.VisibleName;
00328                         }
00329                 }
00335                 private void SetTableFieldRelatedTableSelection(Field field)
00336                 {
00337                         if (field != null && field.RelatedTable != null)
00338                         {
00339                                 this.DDLrelatedtable.SelectedValue = field.RelatedTable.Name;
00340                         }
00341                 }
00346         private bool AddNewTable()
00347         {
00348             string returnMessage = "";
00349             bool success = this.ValidateData(ref returnMessage);
00350             if (success)
00351             {
00352                 RAIS.Common.TableManagement.Table table = this.GetTableFromMask(null);
00353                 success = RAIS.ApplicationLogicLayer.TableManagement.AddTable(table
00354                                         , this.SelectedTableGroup
00355                                         , this.TXTmaskname.Text
00356                                         , this.SelectedSubcategory.ID
00357                                         , DynamicMask.DynamicMaskType.SingleRowMaskWithList
00358                                         , this.TXTmaskname.Text
00359                                         , false
00360                                         , true
00361                                         , ref returnMessage);
00362 
00363                 if (success)
00364                 {
00365                     this.Session[RAIS.UI.Common.Constants.TABLES_TAG] = null; //for resetting
00366                     UI.Common.TableManagement.InitializeTableListByGroup(this.DDLtable, this.SelectedTableGroup);
00367                     this.DDLtable.SelectedValue = table.Name;
00368                     UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable);
00369 
00370                     UI.Common.PageManagement.InitializePage(this, this.TreeView1);
00371                                 }
00372 
00373                                 EnableDeleteButton();
00374                 this.TXTtablename.Text = "";
00375                 this.TXTmaskname.Text = "";
00376             }
00377             RAIS.UI.Common.MessageDisplay.DisplayReturnMessage( this.LBLresult,
00378                                                                 returnMessage,
00379                                                                 success);
00380             return success;
00381         }
00388         bool ValidateData(ref string returnMessage)
00389         {
00390             if (this.TXTtablename.Text.Length > 0)
00391                                 if (this.TXTmaskname.Text.Length > 0)
00392                                         return true;
00393                                 else
00394                                 {
00395                                         returnMessage = RAIS.Common.Messages.MASK_NAME_MISSING;
00396                                         return false;
00397                                 }
00398                         else
00399             {
00400                 returnMessage = RAIS.Common.Messages.TABLE_NAME_MISSING;
00401                 return false;
00402             }
00403         }
00410         RAIS.Common.TableManagement.Table GetTableFromMask(RAIS.Common.TableManagement.Table table)
00411         {
00412             if (table == null)
00413                 table = new RAIS.Common.TableManagement.Table();
00414 
00415             table.Name = this.TXTtablename.Text;
00416             table.TypeText = this.DDLtabletype.SelectedValue;
00417                         table.NeedsValidation = this.CBneedsvalidation.Checked;
00418 
00419             return table;
00420         }
00424         private void DeleteSelectedTable()
00425         {
00426             RAIS.Common.TableManagement.Table selectedTable = this.SelectedTable;
00427 
00428             if (selectedTable != null)
00429             {
00430                 string returnMessage = "";
00431                 bool success = ApplicationLogicLayer.TableManagement.RemoveTable(selectedTable, ref returnMessage);
00432                 this.Session[RAIS.UI.Common.Constants.TABLES_TAG] = null; //for resetting
00433                 UI.Common.TableManagement.InitializeTableListByGroup(this.DDLtable, this.SelectedTableGroup);
00434                                 this.TXTfieldname.Text = "";
00435                                 if (this.SelectedTable != null)
00436                                         UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable);
00437                                 else
00438                                         this.LBfields.Items.Clear();
00439                                 this.EnableDeleteButton();
00440                 RAIS.UI.Common.MessageDisplay.DisplayReturnMessage( this.LBLresult,
00441                                                                     returnMessage,
00442                                                                     success);
00443 
00444                                 UI.Common.PageManagement.InitializePage(this, this.TreeView1);
00445                         }
00446         }
00450         private void AddTableField()
00451         {
00452             RAIS.Common.TableManagement.Table selectedTable = this.SelectedTable;
00453             if (selectedTable != null)
00454             {
00455                 Field tableField = new Field();
00456 
00457                 tableField.Name         = this.TXTfieldname.Text;
00458                                 tableField.FieldPurpose = this.TXTfieldpurpose.Text;
00459                 tableField.TypeText     = this.DDLfieldcategory.SelectedValue;
00460                 tableField.SizeText     = this.DDLsize.SelectedValue;
00461                                 tableField.NecessityText = this.DDLnecessity.SelectedValue;
00462                 tableField.Multiline    = this.CBmultiline.Checked;
00463                 tableField.VisibleOnForms = this.CBvisableonforms.Checked;
00464                 tableField.UniqueValue  = this.CBuniquevalie.Checked;
00465                                 if (tableField.Type == Field.FieldType.SingleLookup
00466                                         || tableField.Type == Field.FieldType.MultipleLookup
00467                                         || tableField.Type == Field.FieldType.LookupPlusIntegerValue
00468                                         || tableField.Type == Field.FieldType.LookupPlusScientificValue)
00469                                 {
00470                                         tableField.RelatedTable = this.SelectedRelatedTable;
00471                                 }
00472                                 else
00473                                         tableField.RelatedTable = null;
00474 
00475                                 //tableField.SystemField = this.CBsystemfield.Checked;
00476 
00477                 string returnMessage = RAIS.Common.Messages.MODIFICATION_PRESS_SAVE;
00478                 bool success = this.ValidateNewTableField(tableField, ref returnMessage);
00479                 if (success)
00480                 {
00481 //                    success = ApplicationLogicLayer.TableManagement.AddField(selectedTable, tableField, ref returnMessage);
00482                     success = selectedTable.AddField(tableField, ref returnMessage);
00483                     this.EnableDisableControls();
00484                     UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable);
00485                     if( success )
00486                         this.LBfields.SelectedValue = tableField.Name;
00487                 }
00488                 RAIS.UI.Common.MessageDisplay.DisplayReturnMessage(this.LBLresult,
00489                                                                     returnMessage,
00490                                                                     success);
00491             }
00492         }
00496         private void RemoveTableField()
00497         {
00498             Field selectedField = this.SelectedField;
00499             RAIS.Common.TableManagement.Table selectedTable = this.SelectedTable;
00500             if (selectedField != null)
00501             {
00502                 string returnMessage = RAIS.Common.Messages.MODIFICATION_PRESS_SAVE;
00503                 //                bool success = ApplicationLogicLayer.TableManagement.RemoveField(selectedField, ref returnMessage);
00504                 bool success = selectedTable.RemoveField(selectedField, ref returnMessage);
00505                 this.EnableDisableControls();
00506                 UI.Common.TableManagement.InitializeTableFieldsList(this.LBfields, this.SelectedTable);
00507 
00508                 RAIS.UI.Common.MessageDisplay.DisplayReturnMessage( this.LBLresult,
00509                                                                     returnMessage,
00510                                                                     success);
00511             }
00512         }
00521         bool ValidateNewTableField(Field newField, ref string returnMessage)
00522         {
00523             RAIS.Common.TableManagement.Table selectedTable = this.SelectedTable;
00524             if (selectedTable == null)
00525             {
00526                 returnMessage = RAIS.Common.Messages.TABLE_DOES_NOT_EXIST;
00527                 return false;
00528             }
00529             else
00530             {
00531                 return selectedTable.ValidateNewField(newField, ref returnMessage);
00532             }
00533         }
00534 
00535         private void InitializeFieldFlags(Field field)
00536         {
00537                         if (field != null)
00538                         {
00539                                 this.CBsystemfield.Checked = field.SystemField;
00540                                 this.CBuniquevalie.Checked = field.UniqueValue;
00541                                 this.CBvisableonforms.Checked = field.VisibleOnForms;
00542                                 this.CBmultiline.Checked = field.Multiline;
00543                         }
00544             else
00545             {
00546                 this.CBsystemfield.Checked = false;
00547                 //this.CBuniquevalie.Checked = false;
00548                 //this.CBvisableonforms.Checked = false;
00549                 //this.CBmultiline.Checked = false;
00550             }
00551         }
00555         private void EnableDeleteButton()
00556         {
00557             if (this.EditMode)
00558                 this.BTNdelete.Enabled = false;
00559             else
00560                 this.BTNdelete.Enabled = this.DDLtable.Items.Count > 0
00561                                 && this.SelectedTable != null && this.SelectedTable.CustomTable;
00562         }
00566         private void EnableRemoveButton()
00567         {
00568             if (!this.EditMode)
00569                 this.BTNremove.Enabled = false;
00570             else
00571                 this.BTNremove.Enabled = (this.LBfields.Items.Count > 0 
00572                                                         && this.LBfields.SelectedIndex != -1
00573                                                         && !this.CBsystemfield.Checked);
00574         }
00579         private bool SaveTable()
00580         {
00581             string returnMessage = "";
00582             bool success = true;
00583 
00584             if (!this.Modified)
00585             {
00586                 returnMessage = RAIS.Common.Messages.CUSTOM_TABLE_NO_MODIFICATION;
00587                 success = false;
00588             }
00589             else
00590             {
00591                 success = ApplicationLogicLayer.TableManagement.SaveCustomTable(this.SelectedTable, ref returnMessage);
00592                 if (success)
00593                     this.EditMode = false;
00594             }
00595             RAIS.UI.Common.MessageDisplay.DisplayReturnMessage(this.LBLresult,
00596                                                                 returnMessage,
00597                                                                 success);
00598             return success;
00599         }
00604         private bool ConfirmTableDeletion()
00605         {
00606             return true;
00607         }
00611         private void EnableDisableControls()
00612         {
00613             this.LBfields.Enabled           = this.EditMode;
00614             this.TXTfieldname.Enabled       = this.EditMode;
00615             this.TXTfieldpurpose.Enabled    = this.EditMode;
00616 
00617             this.DDLfieldcategory.Enabled   = this.EditMode;
00618             this.DDLsize.Enabled            = this.EditMode;
00619             this.DDLnecessity.Enabled       = this.EditMode;
00620             this.DDLrelatedtable.Enabled    = this.EditMode;
00621 
00622             this.CBneedsvalidation.Enabled  = !this.EditMode;
00623 
00624             this.CBmultiline.Enabled = this.EditMode;
00625                         // System field check box must be always disable -
00626                         // user can not change it in the user interface !!!
00627             //this.CBsystemfield.Enabled      = this.EditMode;
00628                         this.CBsystemfield.Enabled      = false;
00629                         this.CBuniquevalie.Enabled      = this.EditMode;
00630             this.CBvisableonforms.Enabled = this.EditMode;
00631 
00632             this.BTNadd.Enabled             = this.EditMode;
00633             this.BTNremove.Enabled          = this.EditMode;
00634 
00635             this.BTNedit.Enabled    = !this.EditMode;
00636             this.BTNsave.Enabled    = this.Modified;
00637             this.BTNdiscard.Enabled = this.EditMode; ;
00638 
00639             this.TXTtablename.Enabled   = !this.EditMode;
00640             this.TXTmaskname.Enabled    = !this.EditMode;
00641             this.BTNcreate.Enabled      = !this.EditMode;
00642             //this.BTNdelete.Enabled      = !this.EditMode;
00643                         this.EnableDeleteButton();
00644 
00645             this.DDLtablegroup.Enabled  = !this.EditMode;
00646             this.DDLtabletype.Enabled   = !this.EditMode;
00647             this.DDLcategory.Enabled    = !this.EditMode;
00648             this.DDLsubcategory.Enabled = !this.EditMode;
00649             this.DDLtable.Enabled       = !this.EditMode;
00650 
00651             UI.Common.UserManagement.EnableCommonControls(this, !this.EditMode);
00652 
00653             this.LBLadmin.ForeColor = RAIS.UI.Common.Constants.COLOR_OF_MENU_BAR_TEXT_HIGHLIGHT;
00654         }
00658                 private void SetFieldSizeVisibility()
00659                 {
00660                         bool sizeVizibility = false;
00661                         if (this.SelectedFieldCategory == Field.FieldType.Text
00662                                 || this.SelectedFieldCategory == Field.FieldType.Numeric)
00663                         {
00664                                 sizeVizibility = true;
00665                         }
00666                         this.LBLsize.Visible = sizeVizibility;
00667                         this.DDLsize.Visible = sizeVizibility;
00668                 }
00672                 private void SetFieldRelatedTableVisibility()
00673                 {
00674                         bool relatedTableVizibility = false;
00675                         if (this.SelectedFieldCategory == Field.FieldType.SingleLookup
00676                                 || this.SelectedFieldCategory == Field.FieldType.LookupPlusIntegerValue
00677                                 || this.SelectedFieldCategory == Field.FieldType.LookupPlusScientificValue
00678                                 || this.SelectedFieldCategory == Field.FieldType.MultipleLookup)
00679                         {
00680                                 relatedTableVizibility = true;
00681                         }
00682                         this.LBLrelatedtable.Visible = relatedTableVizibility;
00683                         this.DDLrelatedtable.Visible = relatedTableVizibility;
00684                 }
00688                 private void EnableDisableMultilineCheckbox()
00689                 {
00690                         if (this.SelectedFieldCategory == Field.FieldType.Text)
00691                                 CBmultiline.Enabled = true;
00692                         else
00693                                 CBmultiline.Enabled = false;
00694                 }
00695                 #endregion
00696                 //*********************************************************************
00697                 #region Private properties
00698 
00701         private RAIS.Common.TableManagement.Table.TableType SelectedTableType
00702         {
00703             get
00704             {
00705                 TableTypes tableTypes = RAIS.ApplicationLogicLayer.TableManagement.TableTypes;
00706                 if (tableTypes != null && tableTypes.ContainsKey(this.DDLtabletype.SelectedValue))
00707                     return tableTypes[this.DDLtabletype.SelectedValue].Type;
00708                 else
00709                     return RAIS.Common.TableManagement.Table.TableType.Single;
00710             }
00711         }
00715         private TableGroup SelectedTableGroup
00716         {
00717             get
00718             {
00719                 TableGroups tableGroups = RAIS.ApplicationLogicLayer.TableManagement.TableGroups;
00720                 if (tableGroups != null && tableGroups.ContainsKey(this.DDLtablegroup.SelectedValue))
00721                     return tableGroups[this.DDLtablegroup.SelectedValue];
00722                 else
00723                     return null;
00724             }
00725         }
00729         private RAIS.Common.TableManagement.Table SelectedTable
00730         {
00731             get
00732             {
00733                 //Tables tables = RAIS.ApplicationLogicLayer.TableManagement.GetCustomTablesByGroup(this.SelectedTableGroup);
00734                 Tables tables = (Tables)this.Session[RAIS.UI.Common.Constants.TABLES_TAG];
00735                 if (tables != null && tables.ContainsKey(this.DDLtable.SelectedValue))
00736                     return tables[this.DDLtable.SelectedValue];
00737                 else
00738                     return null;
00739             }
00740         }
00744                 private RAIS.Common.TableManagement.Table SelectedRelatedTable
00745                 {
00746                         get
00747                         {
00748                                 Tables tables = RAIS.ApplicationLogicLayer.TableManagement.AllTables;
00749                                 if (tables != null && tables.ContainsKey(this.DDLrelatedtable.SelectedValue))
00750                                         return tables[this.DDLrelatedtable.SelectedValue];
00751                                 else
00752                                         return null;
00753                         }
00754                 }
00758         private Field SelectedField
00759         {
00760             get
00761             {
00762                 RAIS.Common.TableManagement.Table selectedTable = this.SelectedTable;
00763                 if (selectedTable != null && selectedTable.Fields.ContainsKey(this.LBfields.SelectedValue))
00764                     return selectedTable.Fields[this.LBfields.SelectedValue];
00765                 else
00766                     return null;
00767             }
00768         }
00772                 private FunctionRole.Category SelectedCategory
00773                 {
00774                         get
00775                         {
00776                                 FunctionRoleCategories categories = RAIS.ApplicationLogicLayer.UserManagement.FunctionalRoleCategories;
00777                                 if (categories != null && categories.ContainsKey(this.DDLcategory.SelectedValue))
00778                                         return categories[this.DDLcategory.SelectedValue];
00779                                 else
00780                                         return null;
00781                         }
00782                 }
00786                 private FunctionRole.Subcategory SelectedSubcategory
00787                 {
00788                         get
00789                         {
00790                                 FunctionRoleSubcategories subcategories = RAIS.ApplicationLogicLayer.UserManagement.GetFunctionalRoleSubcategories(this.SelectedCategory, false);
00791                                 if (subcategories != null && subcategories.ContainsKey(this.DDLsubcategory.SelectedValue))
00792                                         return subcategories[this.DDLsubcategory.SelectedValue];
00793                                 else
00794                                         return null;
00795                         }
00796                 }
00800                 private Field.FieldType SelectedFieldCategory
00801                 {
00802                         get
00803                         {
00804                                 FieldTypes fieldCategories = RAIS.ApplicationLogicLayer.TableManagement.FieldTypes;
00805                                 return fieldCategories[this.DDLfieldcategory.SelectedValue].Type;
00806                         }
00807                 }
00811         bool EditMode
00812         {
00813             get
00814             {
00815                 if (this.Session[RAIS.UI.Common.Constants.CUSTOM_TABLES_EDIT_MODE_TAG] != null)
00816                     return (bool)this.Session[RAIS.UI.Common.Constants.CUSTOM_TABLES_EDIT_MODE_TAG];
00817                 else
00818                     return false;
00819             }
00820             set
00821             {
00822                 this.Session[RAIS.UI.Common.Constants.CUSTOM_TABLES_EDIT_MODE_TAG] = value;
00823                 if (this.SelectedTable.Fields.Count == 0 || this.SelectedField == null)
00824                 {
00825                     if(value)
00826                         this.CBsystemfield.Checked = false;
00827 
00828                     this.CBvisableonforms.Checked = value;
00829                 }
00830                 this.EnableDisableControls();
00831             }
00832         }
00836         bool Modified
00837         {
00838             get
00839             {
00840                 if (this.SelectedTable != null)
00841                     return this.SelectedTable.Modified;
00842                 else
00843                     return false;
00844             }
00845             set
00846             {
00847                 if (!value)
00848                 {
00849                     this.SelectedTable.Modified = false;
00850                     this.Session[RAIS.UI.Common.Constants.TABLES_TAG] = null;
00851                     this.EnableDisableControls();
00852                 }
00853             }
00854         }
00858                 protected UserData CurrentUser
00859                 {
00860                         get { return (UserData)this.Session[UI.Common.Constants.CURRENT_USER_TAG]; }
00861                 }
00862                 #endregion
00863     }
00864 }